<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="format-detection" content="telephone=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><link rel="icon" href="/images/icons/favicon-16x16.png?v=2.8.0" type="image/png" sizes="16x16"><link rel="icon" href="/images/icons/favicon-32x32.png?v=2.8.0" type="image/png" sizes="32x32"><meta name="description" content="Tutorials and Demos 01         原文链接: https:&#x2F;&#x2F;dev.opencascade.org&#x2F;doc&#x2F;overview&#x2F;html&#x2F;samples__novice_guide.html                       Novice Guide 新手向导                             Modeling w">
<meta property="og:type" content="article">
<meta property="og:title" content="OCCT-Tutorials_and_Demos_01:Novice_Guide">
<meta property="og:url" content="http://hipposox.github.io/2023/01/12/OCCT-Tutorials-and-Demos-01-Novice-Guide/index.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:description" content="Tutorials and Demos 01         原文链接: https:&#x2F;&#x2F;dev.opencascade.org&#x2F;doc&#x2F;overview&#x2F;html&#x2F;samples__novice_guide.html                       Novice Guide 新手向导                             Modeling w">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2023-01-12T12:40:00.000Z">
<meta property="article:modified_time" content="2023-01-12T15:26:06.394Z">
<meta property="article:author" content="HippoSoX">
<meta property="article:tag" content="Opencascade">
<meta property="article:tag" content="OCCT">
<meta name="twitter:card" content="summary"><title>OCCT-Tutorials_and_Demos_01:Novice_Guide | Hexo</title><link ref="canonical" href="http://hipposox.github.io/2023/01/12/OCCT-Tutorials-and-Demos-01-Novice-Guide/"><link rel="dns-prefetch" href="https://cdn.jsdelivr.net"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.12.1/css/all.min.css" type="text/css"><link rel="stylesheet" href="/css/index.css?v=2.8.0"><link rel="stylesheet" href="css/custom.css"><script>var Stun = window.Stun || {};
var CONFIG = {
  root: '/',
  algolia: undefined,
  assistSearch: undefined,
  fontIcon: {"prompt":{"success":"fas fa-check-circle","info":"fas fa-arrow-circle-right","warning":"fas fa-exclamation-circle","error":"fas fa-times-circle"},"copyBtn":"fas fa-copy"},
  sidebar: {"offsetTop":"20px","tocMaxDepth":6},
  header: {"enable":true,"showOnPost":true,"scrollDownIcon":false},
  postWidget: {"endText":true},
  nightMode: {"enable":true},
  back2top: {"enable":true},
  codeblock: {"style":"default","highlight":"dark","wordWrap":false},
  reward: false,
  fancybox: false,
  zoomImage: {"gapAside":"20px"},
  galleryWaterfall: undefined,
  lazyload: true,
  pjax: undefined,
  externalLink: {"icon":{"enable":true,"name":"fas fa-external-link-alt"}},
  shortcuts: undefined,
  prompt: {"copyButton":"复制","copySuccess":"复制成功","copyError":"复制失败"},
  sourcePath: {"js":"js","css":"css","images":"images"},
};

window.CONFIG = CONFIG;</script><meta name="generator" content="Hexo 5.4.2"></head><body><div class="container" id="container"><header class="header" id="header"><div class="header-inner"><nav class="header-nav header-nav--fixed"><div class="header-nav-inner"><div class="header-nav-menubtn"><i class="fas fa-bars"></i></div><div class="header-nav-menu"><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="/"><span class="header-nav-menu-item__icon"><i class="fas fa-home"></i></span><span class="header-nav-menu-item__text">首页</span></a></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="/archives/"><span class="header-nav-menu-item__icon"><i class="fas fa-folder-open"></i></span><span class="header-nav-menu-item__text">归档</span></a></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="/categories/"><span class="header-nav-menu-item__icon"><i class="fas fa-layer-group"></i></span><span class="header-nav-menu-item__text">分类</span></a></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="/tags/"><span class="header-nav-menu-item__icon"><i class="fas fa-tags"></i></span><span class="header-nav-menu-item__text">标签</span></a></div></div><div class="header-nav-mode"><div class="mode"><div class="mode-track"><span class="mode-track-moon"></span><span class="mode-track-sun"></span></div><div class="mode-thumb"></div></div></div></div></nav><div class="header-banner"><div class="header-banner-info"><div class="header-banner-info__title">erocool</div><div class="header-banner-info__subtitle">You know what</div></div></div></div></header><main class="main" id="main"><div class="main-inner"><div class="content-wrap" id="content-wrap"><div class="content" id="content"><!-- Just used to judge whether it is an article page--><div id="is-post"></div><div class="post"><header class="post-header"><h1 class="post-title">OCCT-Tutorials_and_Demos_01:Novice_Guide</h1><div class="post-meta"><span class="post-meta-item post-meta-item--createtime"><span class="post-meta-item__icon"><i class="far fa-calendar-plus"></i></span><span class="post-meta-item__info">发表于</span><span class="post-meta-item__value">2023-01-12</span></span><span class="post-meta-item post-meta-item--updatetime"><span class="post-meta-item__icon"><i class="far fa-calendar-check"></i></span><span class="post-meta-item__info">更新于</span><span class="post-meta-item__value">2023-01-12</span></span></div></header><div class="post-body">
        <h1 id="tutorials-and-demos-01"   >
          <a href="#tutorials-and-demos-01" class="heading-link"><i class="fas fa-link"></i></a><a class="markdownIt-Anchor" href="#tutorials-and-demos-01"></a> Tutorials and Demos 01</h1>
      
<blockquote>
<p>原文链接: <span class="exturl"><a class="exturl__link"   target="_blank" rel="noopener" href="https://dev.opencascade.org/doc/overview/html/samples__novice_guide.html" >https://dev.opencascade.org/doc/overview/html/samples__novice_guide.html</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span></p>
</blockquote>

        <h2 id="novice-guide-新手向导"   >
          <a href="#novice-guide-新手向导" class="heading-link"><i class="fas fa-link"></i></a><a class="markdownIt-Anchor" href="#novice-guide-新手向导"></a> Novice Guide 新手向导</h2>
      

        <h3 id="modeling-with-occt-key-differences-occt建模关键区别"   >
          <a href="#modeling-with-occt-key-differences-occt建模关键区别" class="heading-link"><i class="fas fa-link"></i></a><a class="markdownIt-Anchor" href="#modeling-with-occt-key-differences-occt建模关键区别"></a> Modeling with OCCT: Key differences OCCT建模：关键区别</h3>
      
<p>Open CASCADE Technology (OCCT) is an object-oriented C++ framework designed for rapid production of sophisticated CAD/CAM/CAE applications. In other words, it provides endless possibilities for raw 2D and 3D modeling in C++ environment. Unlike end-user software, it is used by the application developers and therefore strongly differs from the most popular CAD/CAM/CAE software packages. OCCT provides building blocks enough for modeling, editing, visualization, and data interoperability of 2D and 3D objects.</p>
<p>Open CASCADE Technology（OCCT）是一个面向对象的C<ins>框架，用于快速生成复杂的CAD/CAM/CAE应用程序。换句话说，它为C</ins>环境中的原始2D和3D建模提供了无尽的可能性。与最终用户软件不同，它由应用程序开发人员使用，因此与最流行的CAD/CAM/CAE软件包有很大不同。OCCT为2D和3D对象的建模、编辑、可视化和数据互操作性提供了足够的构建块。</p>
<span id="more"></span>
<p>By using OCCT, users can create the objects of their desire (or edit already existing ones) using raw code commands. It is a more complicated process than using GUI-based software, but it provides much more flexibility than even script-based manipulations that are available within existing CAD/CAM/CAE applications. However, to fully grasp the possibilities of OCCT it is best for the user to have previous experience in C++ at least at a basic level.</p>
<p>通过使用OCCT，用户可以使用原始代码命令创建他们想要的对象（或编辑已经存在的对象）。这是一个比使用基于GUI的软件更复杂的过程，但它提供了比现有CAD/CAM/CAE应用程序中可用的基于脚本的操作更大的灵活性。然而，为了充分掌握OCCT的可能性，用户最好至少在基本水平上有C++的经验。</p>

        <h3 id="understanding-the-principles-理解原则"   >
          <a href="#understanding-the-principles-理解原则" class="heading-link"><i class="fas fa-link"></i></a><a class="markdownIt-Anchor" href="#understanding-the-principles-理解原则"></a> Understanding the principles 理解原则</h3>
      
<p>If you don’t have any programming skills, grasping the full magnitude of OCCT workflow is still an option. The documentation for OCCT contains several entry points for new users. It will not explain all OCCT classes but will help to comprehend the workflow and help start thinking in terms of Open CASCADE Technology.</p>
<p>如果你没有任何编程技能，掌握OCCT工作流程的全部规模仍然是一个选择。OCCT的文档包含新用户的几个入口点。它不会解释所有OCCT类，但有助于理解工作流，并有助于开始思考开放式CASCADE技术。</p>
<p>The most basic workflow is described in the OCCT Tutorial - this is an excellent starting point for new users. In this tutorial you will create a solid model step-by-step using different classes and methods. Each step of the tutorial contains code snippets and images.</p>
<p>OCCT教程中描述了最基本的工作流程——这是新用户的绝佳起点。在本教程中，您将使用不同的类和方法逐步创建实体模型。教程的每个步骤都包含代码片段和图像。</p>
<p>The basics involved in the modeling process are explained. When the basics of OCCT are clear, the next logical step is to check out sample applications and examine those that suit your needs. For these, the best starting point is OCCTOverview located in /samples/qt subfolder of OCCT installation.</p>
<p>解释了建模过程中涉及的基础知识。当OCCT的基础知识清楚后，下一个逻辑步骤是检查示例应用程序并检查那些适合您需要的应用程序。对于这些，最好的起点是OCCT安装的/samples/qt子文件夹中的OCCTOverview。</p>
<p>This sample provides code examples for several actions as well as visualization of these code snippets output. The Overview interface is dynamically changing based on selected Category at the menu. Additional menu buttons will appear, providing users with subcategories and relevant commands to select one of the actions. The result will appear in the viewer window, the code will appear at the top right, and in several cases the output will be produced at the bottom right window.</p>
<p>此示例提供了几个操作的代码示例以及这些代码片段输出的可视化。“概述”界面根据菜单中选择的“类别”进行动态更改。将出现其他菜单按钮，为用户提供子类别和相关命令以选择其中一个操作。结果将显示在查看器窗口中，代码将显示在右上角，在某些情况下，输出将在右下角窗口生成。</p>
<p>The 3D viewer window has a row of preset interface buttons to customize the visual output.</p>
<p>3D查看器窗口有一行预设界面按钮，用于自定义视觉输出。</p>
<p>Those buttons can be grouped into three types, left to right:</p>
<p>这些按钮可以从左到右分为三种类型：</p>
<ul>
<li>
<p>View controls: Fit all and Isometric, will center the view and reset the camera angles respectively;</p>
</li>
<li>
<p>Display mode customization: HLR, e.g. “Hidden line removal” (works only when shading is disabled) can be turned on and off; solid models may be displayed either in Shading or Wireframe modes. Transparency level may be set for models in shading mode;</p>
</li>
<li>
<p>The last four buttons in a row are beautifiers enabling Ray-tracing engine and configuring it’s parameters.</p>
</li>
<li>
<p>视图控件：Fit all和Isometric，将视图居中并分别重置相机角度；</p>
</li>
<li>
<p>显示模式自定义：可以打开和关闭HLR，例如“隐藏线删除”（仅在禁用着色时有效）；实体模型可以以着色或线框模式显示。可以为处于着色模式的模型设置透明度级别；</p>
</li>
<li>
<p>一行中的最后四个按钮是启用光线跟踪引擎并配置其参数的美化器。</p>
</li>
</ul>
<p>At the bottom left of the screen the orientation cube (trihedron) is located. The trihedron interactively shows the position of the camera in relation to the XYZ axis of the displayed data. The sides of the trihedron are labeled to help with orientation. Click on a side of the box to orient the camera view along the preferred axis.</p>
<p>方向立方体（三面体）位于屏幕的左下方。三面体以交互方式显示相机相对于显示数据的XYZ轴的位置。三面体的边被标记以帮助定向。单击框的一侧以沿首选轴调整相机视图的方向。</p>
<p>The 2D viewer window lacks most of these elements and only have Fit all button.</p>
<p>2D查看器窗口缺少大多数这些元素，只有“全部拟合”按钮。</p>
<p>The Geometry category of the Overview focuses on primitive objects like dots, lines (including vectors) or planes. These objects will appear in the viewer after the subcategory is selected. This section will demonstrate these entities both in 2D and 3D view mode and provide basic examples of parametric creation and data analysis.</p>
<p>“概述”的“几何体”类别侧重于基本体对象，如点、线（包括矢量）或平面。选择子类别后，这些对象将显示在查看器中。本节将在二维和三维视图模式下演示这些实体，并提供参数化创建和数据分析的基本示例。</p>
<p>The usage of the functions shown in the Overview is described more thoroughly at the Modeling data section of the documentation. Additionally, Modeling Algorithms are used in more complex cases.</p>
<p>概述中所示功能的使用在文档的建模数据部分进行了更详细的描述。此外，建模算法用于更复杂的情况。</p>
<p>The Topology section of the Overview demonstrates the functions used in 3D operations. Multiple use cases are provided, including different object intersections, modifying and calculations. Some of these use cases are described in the documentation, such as Inspector usage.</p>
<p>概述的拓扑部分演示了3D操作中使用的功能。提供了多种用例，包括不同的对象相交、修改和计算。文档中描述了其中一些用例，例如Inspector用法。</p>
<p>The subsections are grouped as shown on the screenshot before. Most shapes and primitive objects are introduced and then followed by a set of operations and interactions.</p>
<p>子部分按前面屏幕截图所示进行分组。大多数形状和基本对象都被引入，然后是一组操作和交互。</p>
<p>The Triangulation segment allows computing the number of triangles on a shape.</p>
<p>三角形分段允许计算形状上的三角形数。</p>
<p>This may be inspected via Poly_Triangulation Class Reference - a part of the Reference manual, an overall Open CASCADE code guide that may be used to inspect the key points in classes and their connections.</p>
<p>这可以通过Poly_Triangulation Class Reference进行检查，这是参考手册的一部分，是一个完整的开放式CASCADE代码指南，可用于检查类中的关键点及其连接。</p>
<p>The triangulation uses some of Mesh-related classes - see full description at Mesh documentation section.</p>
<p>三角测量使用一些与网格相关的类-请参见网格文档部分的完整描述。</p>
<p>The Data exchange section provides examples of how to export and import files of several different formats.</p>
<p>数据交换部分提供了如何导出和导入几种不同格式的文件的示例。</p>
<p>The OCAF section gives an introduction for the Open CASCADE Application Framework functionality. To test these functions, create an object first (box or cylinder). After that, the object may be modified and saved. Actions are recorded and may be undone or redone.</p>
<p>OCAF部分介绍了开放式CASCADE应用程序框架功能。要测试这些功能，请先创建一个对象（长方体或圆柱体）。之后，可以修改和保存对象。操作已记录，可以撤消或重做。</p>
<p>Viewers section demonstrates examples of the 2D and 3D visualization outputs. Check Visualization section of the documentation for a detailed description. In addition to these two samples, there are much more that might be of use to a new user based on their particular use case.</p>
<p>查看器部分演示了2D和3D可视化输出的示例。有关详细说明，请查看文档的可视化部分。除了这两个示例之外，根据新用户的特定用例，还有更多的示例可能对他们有用。</p>
<p>Check Readme files in the sample directories to learn more about samples compilation.</p>
<p>查看示例目录中的自述文件以了解有关示例编译的更多信息。</p>
<p>Note: source code for OCCTOverview is stored at ‘samples/qt/OCCTOverview/src’ folder in your OCCT root, and the source code files for examples presented in subsections are stored at ‘samples/OCCTOverview/code folder’. Several utility classes that are not presented in the example window may be found in example source code files.</p>
<p>注意：OCCTOverview的源代码存储在OCCT根目录中的“samples/qt/OCTOverview/src”文件夹中，子节中所示示例的源代码文件存储在“samples/OCCTOverview/code文件夹”中。示例窗口中未显示的几个实用程序类可以在示例源代码文件中找到。</p>
<p>The overall classes introduction may be found in the Foundation Classes section of the documentation. The “Introduction” section contains short descriptions of the most massive entries in the documentation.</p>
<p>总体类介绍可以在文档的基础类部分找到。“简介”部分包含文档中最大量条目的简短描述。</p>

        <h3 id="additional-assistance-其他协助"   >
          <a href="#additional-assistance-其他协助" class="heading-link"><i class="fas fa-link"></i></a><a class="markdownIt-Anchor" href="#additional-assistance-其他协助"></a> Additional assistance 其他协助</h3>
      
<p>There are several places that may be of use for new users. The first one is Training &amp; E-learning page that lists available trainings and describes their specifics.</p>
<p>有几个地方可能对新用户有用。第一个是培训和电子学习页面，其中列出了可用的培训并描述了其具体内容。</p>
<p>The second one is the Overview documentation (this document is a part of it) - here you can find information that suits most of the use cases. This may seem overwhelming at first, but if you have the clear understanding of what do you seek, you will most likely find the required information.</p>
<p>第二个是概述文档（该文档是其中的一部分）-在这里您可以找到适合大多数用例的信息。起初，这可能会让人不知所措，但如果你清楚地了解自己想要什么，你很可能会找到所需的信息。</p>
<p>Aside from the Overview documentation itself, the Reference manual is present. Use it to check classes descriptions, dependencies and examples. Additionally, there is a Forum where you can contact the OCCT community and developers.</p>
<p>除了概述文档本身，还提供了参考手册。使用它检查类描述、依赖关系和示例。此外，还有一个论坛，您可以在这里联系OCCT社区和开发人员。</p>
</div><footer class="post-footer"><div class="post-ending ending"><div class="ending__text">------ 本文结束，感谢您的阅读 ------</div></div><div class="post-copyright copyright"><div class="copyright-author"><span class="copyright-author__name">本文作者: </span><span class="copyright-author__value"><a href="http://hipposox.github.io">HippoSoX</a></span></div><div class="copyright-link"><span class="copyright-link__name">本文链接: </span><span class="copyright-link__value"><a href="http://hipposox.github.io/2023/01/12/OCCT-Tutorials-and-Demos-01-Novice-Guide/">http://hipposox.github.io/2023/01/12/OCCT-Tutorials-and-Demos-01-Novice-Guide/</a></span></div><div class="copyright-notice"><span class="copyright-notice__name">版权声明: </span><span class="copyright-notice__value">本博客所有文章除特别声明外，均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en" rel="external nofollow" target="_blank">BY-NC-SA</a> 许可协议。转载请注明出处！</span></div></div><div class="post-tags"><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="http://hipposox.github.io/tags/Opencascade/">Opencascade</a></span><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="http://hipposox.github.io/tags/OCCT/">OCCT</a></span></div><nav class="post-paginator paginator"><div class="paginator-prev"><a class="paginator-prev__link" href="/2023/01/12/OCCT-Tutorials-and-Demos-02-Draw-Demo-Scripts/"><span class="paginator-prev__icon"><i class="fas fa-angle-left"></i></span><span class="paginator-prev__text">OCCT-Tutorials_and_Demos_02:Draw:Demo_Scripts</span></a></div><div class="paginator-next"><a class="paginator-next__link" href="/2023/01/12/TensorRT/"><span class="paginator-prev__text">读代码学习TensorRT</span><span class="paginator-next__icon"><i class="fas fa-angle-right"></i></span></a></div></nav></footer></div></div></div><div class="sidebar-wrap" id="sidebar-wrap"><aside class="sidebar" id="sidebar"><div class="sidebar-nav"><span class="sidebar-nav-toc current">文章目录</span><span class="sidebar-nav-ov">站点概览</span></div><section class="sidebar-toc"><ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#tutorials-and-demos-01"><span class="toc-number">1.</span> <span class="toc-text">
           Tutorials and Demos 01</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#novice-guide-%E6%96%B0%E6%89%8B%E5%90%91%E5%AF%BC"><span class="toc-number">1.1.</span> <span class="toc-text">
           Novice Guide 新手向导</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#modeling-with-occt-key-differences-occt%E5%BB%BA%E6%A8%A1%E5%85%B3%E9%94%AE%E5%8C%BA%E5%88%AB"><span class="toc-number">1.1.1.</span> <span class="toc-text">
           Modeling with OCCT: Key differences OCCT建模：关键区别</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#understanding-the-principles-%E7%90%86%E8%A7%A3%E5%8E%9F%E5%88%99"><span class="toc-number">1.1.2.</span> <span class="toc-text">
           Understanding the principles 理解原则</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#additional-assistance-%E5%85%B6%E4%BB%96%E5%8D%8F%E5%8A%A9"><span class="toc-number">1.1.3.</span> <span class="toc-text">
           Additional assistance 其他协助</span></a></li></ol></li></ol></li></ol></section><!-- ov = overview--><section class="sidebar-ov hide"><div class="sidebar-ov-author"><div class="sidebar-ov-author__avatar"><img class="sidebar-ov-author__avatar_img" src="/images/icons/stun-logo.svg" alt="avatar"></div><p class="sidebar-ov-author__text">motto</p></div><div class="sidebar-ov-state"><a class="sidebar-ov-state-item sidebar-ov-state-item--posts" href="/archives/"><div class="sidebar-ov-state-item__count">19</div><div class="sidebar-ov-state-item__name">归档</div></a><a class="sidebar-ov-state-item sidebar-ov-state-item--categories" href="/categories/"><div class="sidebar-ov-state-item__count">6</div><div class="sidebar-ov-state-item__name">分类</div></a><a class="sidebar-ov-state-item sidebar-ov-state-item--tags" href="/tags/"><div class="sidebar-ov-state-item__count">14</div><div class="sidebar-ov-state-item__name">标签</div></a></div><div class="sidebar-ov-cc"><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en" target="_blank" rel="noopener" data-popover="知识共享许可协议" data-popover-pos="up"><img src="/images/cc-by-nc-sa.svg"></a></div></section><div class="sidebar-reading"><div class="sidebar-reading-info"><span class="sidebar-reading-info__text">你已阅读了 </span><span class="sidebar-reading-info__num">0</span><span class="sidebar-reading-info__perc">%</span></div><div class="sidebar-reading-line"></div></div><iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=1449790718&auto=1&height=66"></iframe></aside></div><div class="clearfix"></div></div></main><footer class="footer" id="footer"><div class="footer-inner"><div><span>Copyright © 2023</span><span class="footer__icon"><i class="fas fa-heart"></i></span><span>HippoSoX</span></div><div><span>由 <a href="http://hexo.io/" title="Hexo" target="_blank" rel="noopener">Hexo</a> 强力驱动</span><span> v5.4.2</span><span class="footer__devider">|</span><span>主题 - <a href="https://github.com/liuyib/hexo-theme-stun/" title="Stun" target="_blank" rel="noopener">Stun</a></span><span> v2.8.0</span></div></div></footer><div class="loading-bar" id="loading-bar"><div class="loading-bar__progress"></div></div><div class="back2top" id="back2top"><span class="back2top__icon"><i class="fas fa-rocket"></i></span></div></div><script src="https://cdn.jsdelivr.net/npm/jquery@v3.4.1/dist/jquery.min.js"></script><script src="https://cdn.jsdelivr.net/npm/velocity-animate@1.5.2/velocity.min.js"></script><script src="https://cdn.jsdelivr.net/npm/velocity-animate@1.5.2/velocity.ui.min.js"></script><script src="https://cdn.jsdelivr.net/npm/lazyload@2.0.0-rc.2/lazyload.min.js"></script><script src="/js/utils.js?v=2.8.0"></script><script src="/js/stun-boot.js?v=2.8.0"></script><script src="/js/scroll.js?v=2.8.0"></script><script src="/js/header.js?v=2.8.0"></script><script src="/js/sidebar.js?v=2.8.0"></script></body></html>